/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.autosalon.ui.customer.state;

import com.autosalon.ui.customer.state.newCustomer.NewCustState_Customer;
import com.autosalon.ui.customer.state.newCustomer.NewCustState_Invitor;
import com.autosalon.ui.customer.state.newCustomer.NewCustState_Seller;
import com.autosalon.ui.customer.Customer;
import com.autosalon.ui.customer.state.addAdress.AddAressState_Customer;
import com.autosalon.ui.customer.state.addAdress.AddAressState_Invitor;
import com.autosalon.ui.customer.state.addAdress.AddAressState_Seller;
import com.autosalon.ui.customer.state.addAdress.NoMoreAdressState_Customer;
import com.autosalon.ui.customer.state.addAdress.NoMoreAdressState_Invitor;
import com.autosalon.ui.customer.state.addAdress.NoMoreAdressState_Seller;
import com.autosalon.ui.customer.state.addAdress.RemoveAressState_Customer;
import com.autosalon.ui.customer.state.addAdress.RemoveAressState_Invitor;
import com.autosalon.ui.customer.state.addAdress.RemoveAressState_Seller;
import com.autosalon.ui.customer.state.editCustomer.EditCusState_Customer;
import com.autosalon.ui.customer.state.editCustomer.EditCustState_Seller;
import com.autosalon.ui.customer.state.newCustomer.AddCustState_Seller;
import com.autosalon.ui.customer.state.saveNewCustomer.SaveNewCusState_Invitor;
import com.autosalon.ui.customer.state.saveNewCustomer.SaveNewCusState_Seller;
import com.autosalon.ui.customer.state.saveUpdateCustomer.SaveUpdateCusState_Customer;
import com.autosalon.ui.customer.state.saveUpdateCustomer.SaveUpdateCusState_Seller;

/**
 *
 * @author Kubík
 */
public class CustomerStateHolder {

    public static ICustomerState[] NEW_CUSTOMER_STATE = {new NewCustState_Invitor(), new NewCustState_Customer(), new NewCustState_Seller()};
    public static ICustomerState[] EDIT_CUSTOMER_STATE = {null, new EditCusState_Customer(), new EditCustState_Seller()};
    public static ICustomerState[] SAVE_UPDATE_CUSTOMER_STATE = {null, new SaveUpdateCusState_Customer(), new SaveUpdateCusState_Seller()};
    public static ICustomerState[] SAVE_CUSTOMER_STATE = {new SaveNewCusState_Invitor(), null, new SaveNewCusState_Seller()};
    public static ICustomerState[] ADD_CUSTOMER_STATE = {null, null, new AddCustState_Seller()};
    public static ICustomerState[] ADD_ADRESS_STATE = {new AddAressState_Invitor(), new AddAressState_Customer(), new AddAressState_Seller()};
    public static ICustomerState[] REMOVE_ADRESS_STATE = {new RemoveAressState_Invitor(), new RemoveAressState_Customer(), new RemoveAressState_Seller()};
    public static ICustomerState[] NO_MORE_ADRESS_STATE = {new NoMoreAdressState_Invitor(), new NoMoreAdressState_Customer(), new NoMoreAdressState_Seller()};
//	public static ICustomerState[] VIEW_CUSTOMER_STATE = {new ViewAutState_Invitor(), new ViewAutState_Customer(), new ViewAutState_Seller()};

    public static void setState(ICustomerState[] customerState, int id_role, Customer customer) {
        customerState[id_role - 1].initButtons(customer);
        customerState[id_role - 1].initLabels(customer);
        customerState[id_role - 1].initForms(customer);
        customerState[id_role - 1].initTabs(customer);
    }
}
